<!-- jssdk -->
<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
<script type="text/javascript">
$(function(){
	var model = {
		path : publicContextPath + "/wechat/getJsConfig.do"
	}
	$.get(model.path,function(respone){
		if (respone.responeCode == '0') {
			var data = respone.data;
			wxConfig(data.appId,data.timestamp,data.noncestr,data.signature);
		} 
	});
})
function wxConfig(appId,timestamp,nonceStr,signature){
	wx.config({
	    debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
	    appId: appId, // 必填，公众号的唯一标识
	    timestamp: timestamp, // 必填，生成签名的时间戳
	    nonceStr: nonceStr, // 必填，生成签名的随机串
	    signature: signature,// 必填，签名
	    jsApiList: ['chooseWXPay'] // 必填，需要使用的JS接口列表
	});
}
function wxPay(jsParams,successCallback,failCallback){
	if (typeof WeixinJSBridge == "undefined"){
		   if( document.addEventListener ){
		       document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
		   }else if (document.attachEvent){
		       document.attachEvent('WeixinJSBridgeReady', onBridgeReady); 
		       document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
		   }
		}else{
		   onBridgeReady(jsParams,successCallback);
		}
}
function onBridgeReady(jsParams,successCallback,failCallback,cancelCallback){
	   WeixinJSBridge.invoke(
	       'getBrandWCPayRequest', {
	           "appId":jsParams.appId,     //公众号名称，由商户传入     
	           "timeStamp":jsParams.timeStamp,        //时间戳，自1970年以来的秒数     
	           "nonceStr":jsParams.nonceStr, //随机串     
	           "package":jsParams._package,     
	           "signType":"MD5",         //微信签名方式：     
	           "paySign":jsParams.paySign //微信签名 
	       },
	       function(res){     
	           if(res.err_msg == "get_brand_wcpay_request:ok" ) {//// 使用以上方式判断前端返回,微信团队郑重提示：res.err_msg将在用户支付成功后返回    ok，但并不保证它绝对可靠。
	        	  	 successCallback();
	           } else if (res.err_msg == "get_brand_wcpay_request:fail") {
	        	    if (failCallback)
	        	   	 failCallback();
	           }   else if (res.err_msg == "get_brand_wcpay_request:cancel") {
	        	    if (cancelCallback)
	        	   	 	cancelCallback();
		       }  else {
		    	   		alert(res.err_msg);
		       }
	       }
	   ); 
}
</script>
